System And Method For Providing A Web Page

ABSTRACT

Method and system for providing a web page. Preferably, the method and system composes a web page based on real-time conditions. In an exemplary method, a web page including a plurality of data objects is received. For each of the plurality of data objects, content importance is evaluated. Available bytes that can be transmitted under current bandwidth of a communication channel to meet a desired latency goal are estimated, and the available transmission bytes are distributed among different ones of the plurality of data objects based on the evaluated content importance.

PRIORITY CLAIM

This application claims priority of U.S. Provisional Patent ApplicationSer. No. 60/628,733, filed Nov. 17, 2004, and U.S. ProvisionalApplication Ser. No. 60/628,729, filed Nov. 17, 2004.

TECHNICAL FIELD

A field of the invention is data communications. A more specificapplication of the invention is wireless data communications. Anothermore specific application of the invention is the transmission of WorldWide Web (“web”) pages.

BACKGROUND ART

Internet access is offered in a wide variety of public and privatesettings through wireless connections. World Wide Web (“web”) usage,file transfer, multimedia applications, and other popular applicationsplace high demand on wireless data connections. Users are becoming moredependent on such widespread access. Often, however, these experiencesare unlike the experience provided in workplace and home environments,as extensive, unpredictable latency is a common characteristic of awireless connection.

Conventional techniques attempt to make wireless web browsing faster bycompressing (by a statically determined factor) all the images of a webpage before transmitting over the wireless network. This reduces thevolume of data to be transmitted, and reduces the web browsing latencyby a constant factor, depending on the amount of (static) compressionapplied. However, this fails to address a fundamental problem inwireless web browsing—the unpredictable nature of wireless networks interms of varying network bandwidth and error conditions—leading tounpredictable, and mostly slow, wireless web browsing speeds.

Additionally, static compression may result in images of poor qualitybeing delivered to a user. Thus, a wireless service delivering such webpages may be less desirable for users, resulting in lost business for awireless service provider and/or inconvenience for the user.

Other techniques for improving wireless data communication includetrans-coding techniques that address the diversity and limitations ofwireless handhelds. Trans-coding techniques attempt to re-format webcontent to map efficiently to different handhelds, in terms of theirbrowser and display capabilities. However, trans-coding techniques donot address the variability of network conditions, and thereby cannotattempt to provide a fast and consistent wireless web browsingexperience in the face of varying wireless network speeds.

DISCLOSURE OF THE INVENTION

Preferred embodiments of the present invention provide a method andsystem for providing a web page. In an exemplary method, a web pagehaving a plurality of objects is received. For each of the plurality ofobjects, content importance is evaluated. Available bytes that can betransmitted under current bandwidth of a communication channel to meet adesired latency goal are estimated, and the available transmission bytesare distributed among different ones of the plurality of data objectsbased on the evaluated content importance. One or more of the dataobjects are dynamically object-specific shaped according to theallocated bytes for each object. A new web page is provided includingthe objects shaped by the dynamic object-specific shaping.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an exemplary wireless network architecture including asystem for composing a web page based on real-time conditions, accordingto an embodiment of the present invention;

FIG. 2 shows exemplary system architecture for composing a web pagebased on real-time conditions, according to a preferred embodiment ofthe present invention; and

FIG. 3 shows an exemplary method for composing a web page based on realtime conditions, according to an embodiment of the present invention.

BEST MODE OF CARRYING OUT THE INVENTION

Preferred methods and systems according to the present inventionprovide, among other things, improved delivery of a web page to a user.The web page requested by the user for delivery, for example, includes acollection of data objects such as text and image objects. Preferredembodiments improve delivery by estimating the available bytes that canbe transmitted under current bandwidth of a communication channel tomeet a desired latency goal (target latency), and allocating theavailable transmission bytes among different ones of the data objectsbased on particular evaluated criteria for each data object, thusselecting data objects for inclusion in the provided web page, andselecting a size for individual web page objects. To maximize quality ofthe provided web page, a preferred method selectively reduces the sizeof one or more of the data objects based on the allocated bytes for thatobject. The set of reduced data objects is dynamically composed (thatis, in real time) to provide the new web page. In this way, the web pageis modified based on real-time conditions.

Two preferred criteria for evaluating the objects are content importancefor the objects and relationships among the objects. Upon a request forthe web page, a preferred method evaluates each of the data objects forimportance of the particular data object within the data collection(content importance) and the relationships among the objects (contentsemantics). Evaluating content importance, for example, may be done byemploying a learning algorithm that evaluates objects for contentimportance, or by receiving and evaluating content parameters that areprovided (e.g., by a third party). Consideration of these criteriaallows targeted object selection and/or object size reduction. Thisreduces the required overall bandwidth for a requested web page andpermits transmission meeting the target latency, while maximizing thequality of the web page.

Given a request for a web page, for example, preferred methods andsystems provide a dynamic technique, referred to herein as web shaping,that recomposes the web pages to be delivered to a user in real time. Adevice or system performing such methods is referred to herein as a webshaper. In a preferred embodiment, a web shaper serves web requestswithin a target latency while maximizing web page quality, under acurrent network condition. The web shaper meets the target latency bydynamically shaping the content of the web page to approach or meet themaximum amount of information that can be sent under current networkbandwidth available without violating the target latency. Whiletransmitting the required amount of information, the preferred webshaper attempts to maximize the visual quality of the web page, whichgenerally refers to the sum of quality of all objects present weightedby their importance towards the web page.

Visual quality is maximized in exemplary embodiments by selecting asubset of data objects in the web page guided by their contentimportance and/or content semantics and allocating the available bytesto each selected data object. Particularly, by considering theimportance of each object, and the relationships between the objects, apreferred web shaper enables generation of web pages with highestcontent quality possible under specified constraints.

A preferred method estimates available bytes that can be transmittedunder a current bandwidth of a communication channel to meet the targetlatency. For example, a preferred method receives or provides anestimated network data rate, and uses this information with a provideddesired latency constraint to determine a total number of availabletransmission bytes. The available transmission bytes are distributedamong the different data objects, preferably according to evaluatedcontent importance and/or content semantics criteria. Recomposing theweb page, according to embodiments of the invention, includes selectingobjects for inclusion in a provided web page and dynamic object-specificshaping one or more of the data objects within the web page to meet theallocated bytes for each object.

A web shaper in accordance with preferred embodiments of the inventioncan thus dynamically compose web pages, depending on the current,experienced network bandwidth, to provide a consistent, pre-specifiedweb browsing latency. Instead of just compressing images according to astatic factor, a preferred method analyzes the web content real-time;and re-composes a new web page, respectful of the priorities, semantics,and relationships of all the objects in the web page, and with an aim tomaximize the quality of the delivered web page, given the networkbandwidth estimates and pre-selected latency constraint. Initial studiesshow up to 10× improvement in wireless web browsing speeds over anywireless network, and up to 4× improvement of web browsing speedscompared to existing, static image compression based techniques.

For a wireless network, embodiments of a wireless web shaper providesignificant value propositions to both content providers and wirelesscarriers, as such embodiments can scale web content to fit to anynetwork and network conditions (from original content to text-onlycontent, and any version in between) in real-time. With a preferredweb-shaper, content providers need only maintain one version of theirweb content to support diverse wireless network access technologies andwireless handhelds.

Additionally, the web shaper can enable wireless carriers to offerwireless web services at lower data rates, with higher revenues, andcontent differentiations according to different Service Level Agreements(SLA). Because preferred embodiments of the invention can best-fit webcontent into any kind of wireless pipe, including thin/noisy pipes,embodiments of the invention can tremendously boost data ARPU (averagerevenue per unit or user) of carriers, since they can significantlyincrease the number of data subscribers in a cell, while ensuring anacceptable level of data user satisfaction. Also, using a preferred webshaping method, carriers are able to offer differentiated services, suchas by scaling content depending on SLAs.

Referring now to the drawings, an exemplary wireless network 10 is shownin FIG. 1, an embodiment of a preferred web shaper 12 is shown in FIG.2, and an exemplary web shaping method is shown in FIG. 3. Generally,the web shaper 12 receives web page content 14, including a collectionof data objects, in response to a request for a data communication by auser. A user, as non-limiting examples, may include a wireless GPRSclient 16, an EDGE client 18, a W-CDMA client, 20, or an 802.11x client22. The client 16, 18, 20, 22 accesses the internet 24 via a carriergateway 26. A base station controller 28 preferably also is provided aspart of a carrier infrastructure. As a general example, a preferredembodiment may be applied to a 3rd Generation (3G) wireless datanetwork.

The web shaper 12 may be embodied, for example, as server softwareresiding on the carrier gateway 26. Alternatively or additionally, theserver software may reside on a content provider 30. The contentprovider 30, along with a content aggregator 32 and/or a wireless webhost 34, may provide web pages to the client 16, 18, 20, 22 over theinternet 24. However, a benefit of preferred embodiments of the presentinvention is implementation flexibility, in that the content may be aweb page received directly from the content provider 30, aggregatedcontent from the content aggregator 32, or content already modified forwireless use from the wireless web host 34.

The web shaper 12 may act as a proxy server that receives content inresponse to a request to the server, and customizes the content. In thepreferred method illustrated in FIGS. 2 and 3, in response to a requestfrom the client 16, 18, 20, 22, content 14 is furnished including webpage content (step 100). This content, for example, may be in the formof an HTML page that is parsed into relevant objects (e.g., images,text, JavaScript, CSS file, etc.) The content 14 may be from a contentserver such as the content provider 30, content aggregator 32, and/orthe wireless web host 34, and it includes a plurality of data objects.If the web page is not updated on the content server, a cache (notshown) local to the web shaper 12 may store the retrieved content forreading by the web shaper.

The content 14 received by the web shaper 12 includes, for example, thecollection of objects forming the web page, including image and HTMLobjects. Content parameters 36 also are supplied to the web shaper (step102), preferably from the content provider 30. These parameters 36 mayinclude, for example, supplied priorities or importance of particularobjects, which may allow the evaluation of content importance performedby the web shaper 12 to be customized by the content provider 30 orother party.

For determining the bytes (bandwidth) available for the client 16, 18,20, 22 under particular network conditions, a network data rate 38 and adesired latency 40 preferably are supplied (step 102) to the web shaperas inputs. By providing the data rate and the desired latency, the webshaper 12 can determine the number of bytes that are available fortransmitting a web page under dynamic network conditions withoutviolating the latency constraint.

The desired latency 40 preferably is a predetermined value supplied by,for example, the content provider 30, the wireless web host 34, thecarrier 26, etc. Desired latency generally refers to the amount of timeacceptable to the client 16, 18, 20, 22 for waiting for a requested webpage to be received. This amount of time may be an initial defaultvalue, a selected value, or a value determined in one or more of variousways (e.g., a desired latency may be chosen based on a particularwireless service plan, or based on a particular content provider). Thelatency, for example, may be predetermined so that the provided orestimated available bytes are determined to reduce the likelihood ofslow or frequently interrupted data communication.

The network data rate 38 is provided to the web shaper in real time toprovide a web page that is customized dynamically depending on changingnetwork conditions. The data rate 38 or network speed, which may beexpressed, for example, in number of bits/second, may be determined inany of various ways. Exemplary methods for determining the data rate 38include a web sniffer installed onto the carrier gateway 26, the contentprovider 30, or the wireless web host 34. However, proxy servers, ifused, may break up the connection. Another method of estimating the datarate uses Ethereal or other suitable client-based software that monitorsthe packets that are downloaded to the client 16, 18, 20, 22 and measurethe experienced data rate as seen by the client. Those of ordinary skillin the art will appreciate that there are various ways to estimate thenetwork data rate 38, and any suitable method may be used for supplyingthe data rate to the web shaper 12.

In a preferred embodiment, the data rate 38 is estimated by inserting aweb scripting language (e.g., JavaScript or Perl) into a web page thatprovides a time stamp for when data is first received by the client 16,18, 20, 22, and when the data was fully received by the client. The webpage may be a page generated by the content provider 30, when timeinformation is desired without sending a large amount of data to theclient. Alternatively, the web page may be a web page generated solelyto test the data rate, to estimate the bandwidth availability when noa-priori knowledge of current network condition is available, or when acertain amount of time has elapsed. If a new web page is generated, theselection of techniques for determining a data rate may be dynamicallycustomized based on the application requirements as well as the networkvariability observed. Further, the selection may be made conscious ofthe tradeoffs involved between the accuracy of the bandwidth estimationand the potential overhead in terms of time consumed and additionaltraffic used. Under specified limits of overhead, a preferred methodattempts to achieve best-effort network bandwidth estimation. Thismethod preferably avoids an additional software download by the client16, 18, 20, 22 (beyond the web browser).

As shown in FIGS. 2 and 3, the provided network data rate 38 (e.g., inbytes/second) is simply multiplied by the desired latency (e.g., inseconds) to compute an estimate of the available bytes 41 that can betransmitted under current bandwidth in a communication channel whilemeeting the desired latency (step 104). The available bytes 41preferably are then allocated among various objects of the web page, andmay be used to determine if the final modified web page will be moretext-centric (for fewer available bytes) or can include more images (formore available bytes).

In a preferred embodiment, a web scripting language, such as JavaScript,is used to determine device information about the client 16, 18, 20, 22,which is also sent to the web shaper 12 (step 102). The scriptinglanguage is sent from the web shaper 12 to the client, and it isimplemented using the client's web browser to send back the deviceinformation. Such device information includes the display size 42 of theclient device and the device capabilities 44. The display size 42 anddevice capabilities are useful to optimize the final customized web pagefor the particular client 16, 18, 20, 22.

The device information allows optimization of the web page for aparticular client 16, 18, 20, 22. To maximize quality of the customizedcontent, the content 14 is passed through one or more analysis steps,including a content analyzer 50 and a content semantics (relationships)analyzer 52. Generally, an exemplary content analyzer 50 evaluates (step106) a relative importance of each object in the web page (i.e., contentimportance) to determine priorities among the objects.

In an exemplary embodiment, the content analyzer 50 takes the originalweb page as input, parses the web page to provide the individualobjects, and analyzes the content (i.e., each data object) to find outrelevant application-level data properties, particularly contentimportance. Preferably, the content analyzer analyzes each of theindividual data objects making up the web page for aspects of contentimportance for the object, and assigns a priority expressed as a number,which is incorporated into the markup language for the web page. Thecontent analyzer 50 preferably also provides in the markup language asize, in bytes, of each object on the web page.

For example, the content analyzer 50 may use pre-characterizedinformation about the web page data objects to determine importance. Inexemplary embodiments, coding for a web page (e.g., markup language) mayinclude data characterizing the relative importance of one or more dataobjects. More particularly, the content importance can be explicitlyprovided by the content service provider as a tag along with thecontent.

Alternatively, embodiments of the content analyzer 50 may use a learningalgorithm to analyze content, and estimate the importance of differentobjects of the content. In an exemplary embodiment, the content analyzer50 identifies a relative importance of each object. In a preferredembodiment, the content analyzer 50 employs a heuristic algorithm thatconsiders several characteristics of individual data objects, such asphysical location of the object within the web page, display size of theobject, HTML formatting tags, etc.

The intuition behind the heuristic algorithm for the content analyzer 50is to identify the visual impact each individual object creates to theuser as compared to other objects on the page. Different objectscontribute different levels of importance to the overall contentquality; for example, an image used for navigational purpose in a webpage may have lower importance than other images. Further, a centralheadline or image may have more importance than other text or images.

The output of the content analyzer 50 is a web page having prioritiesassigned to each of the HTML and image objects. The supplied (ordefault) content parameters 36 are combined (preferably, XOR'ed) 51 withthe output of the content analyzer 50 to incorporate any customizationof the priorities that is provided by the web shaper 12 or otherparties. Thus, evaluating content importance may be performed using thecontent analyzer and/or using the supplied content parameters. Theoutput is fed into the content semantics (relationship) module 52, forevaluating (step 108) a relationship of each object among the variousobjects in the web page, and modifying the determined prioritiesaccordingly to determine the analyzed content 54.

Preferably, the content semantics step 52 considers the relationshipsbetween all data objects on the web page to evaluate the importance ofeach object, and modifies the priorities determined by the contentanalyzer 50 and/or the content parameters 36 based on relationshipsamong the individual web page objects. This is done to preserve thesemantics of the information in the recomposed web page. For example, ina news webpage having a central article including a top image, aheadline, and accompanying text, it is preferred that the top image,headline, and text be kept together in a final web page. Thus, thecontent semantics step 52 would raise the priority of the headline andtext that are related to the top image.

Additionally, in a preferred embodiment, the available bytes 41 amountis supplied to the content semantics module 52 for modifying prioritiesof objects based on the bandwidth. The content semantics step 52preferably adjusts for the available bytes 41 by modifying theimportance for the image objects in the web page. For example, if thenumber of available bytes 41 is too low, the content semantics step canconsider this information and reduce the number of images by loweringthe priority of images. Similarly, if the available bandwidth is high,several images can be supplied by raising the priority of images.

As a result, the content semantics step 52 outputs (step 110) analyzedcontent 54 in server memory, preferably in the form of a modified webpage with priority information (e.g., a number representing modifiedpriority) assigned in the markup language to each object in the webpage. Additionally, as stated above, a size of each object is provided(e.g., in bytes) in the modified web page.

Based on the analyzed content 54, the available bytes 41, and preferablythe display size 42 and device capabilities 44, a content/qualityselector 56 allocates (step 112) available transmission bytes amongdifferent objects in the data collection (e.g. data objects in the webpage). The content/quality selector 56 preferably uses a priority-basedalgorithm, with the modified priority from the content semantics step 52used as the priority value to allocate the available transmission bytesamong the different data objects of the web page. Each data object thusis given a target size, for example, in allocated bytes.

In a preferred embodiment, the content/quality selector 56 allocatesbytes among each of the collection of data objects making up the webpage. Preferably, this is done by first arranging all of the objects(step 114) in the web page supplied by the analyzed content 54 in asorting order, most preferably ascending order, determined by priorityand size for each object. For example, the sorting order may bedetermined by a ratio of object priority to object size. In this way,each object, which is demanding certain bytes, is provided a priorityfor each byte in that object, and the objects are ranked accordingly.

Objects are selected (step 116) from the sorted list one by one. In apreferred embodiment, the first object selected from among the availableobjects is the object having the lowest priority-per-byte ratio. For theselected object, available transmission bytes are assigned (step 118),preferably according to the formula [weighted importance divided bytotal importance times available bytes]. If the number of assigned bytesfor the selected object is less then the minimum number of bytes (step120) needed by the object, then it is decided to delete (step 122) theobject. The bytes previously assigned to this object are returned to theavailable bytes pool so that they can be utilized by other objects onthe page.

If the number of assigned bytes is greater then the minimum needed, acompression ratio is computed (step 124), preferably as the ratio ofassigned bytes to the total bytes needed by the object whenuncompressed. Given the computed compression ratio, if the selectedobject is an image (step 126) then the image shaper 60 is launched (step128) to compress the image according to the compression ratio determinedin the last step. If any bytes are left over after the image shaper 60is done, these bytes are returned to the available bytes pool 62 for useby other objects. If there are more objects in the sorted list (step130) then the next object is selected in the ascending order (step 116)and the above process is repeated for this selected object.

In a preferred embodiment, to account for the display size 42 and devicecapabilities 44, images that are selected for forwarding to the client16, 18, 20, 22 may be modified (e.g., by the image shaper 60) to meetthe device requirements. For example, for a device having only amonochrome or gray display, selected color images may be made monochromeor gray. Images too large for a particular device may be resized.Additional bytes are also placed into the unused bytes pool 62. Thisprovides final, customized content 64 including a web page having theshaped data objects to which transmission bytes have been allocated.

Once all objects in the sorted list are considered (step 130), the HTMLpage is shaped (step 132). For example, if the object is HTML content(HTML body text), the HTML shaper 58 recreates or modifies the HTML(step 132) by removing objects selected for removal or truncatingobjects according to the selected compression ratio so that the pagefits within the allocated bytes according to the content/qualityselector 16.

The web shaper 12 thus provides customized content 64 (step 132) in theform of a new data collection, such as a new HTML web page and images.In this new web page, the HTML now includes objects selected forinclusion, selectively compressed according to a ratio based onreal-time network conditions. For the web page images, a compressionlevel may be provided in the markup. Preferably, the markup languagerequests the shaped (compressed) images, which are stored in the serveron which the web shaper 40 resides. The new web page 64 and shapedimages are delivered to the client 16, 18, 20, 22.

Preferred embodiment methods do not require any additional software atthe client side. In addition, embodiments can exploit theprogrammability currently available in all web browsers, and hence cansupport a diverse variety of clients without any modification. Networkmonitoring in accordance with the invention is configurable to provideoptimal network condition estimation under specified monitoring overheadin terms of the time consumed or the overhead traffic. Advantageously,embodiments of the invention exploit the passive network-relatedinformation observed from the past communication to predict the networkcondition for future, thereby reduces the monitoring overheadsignificantly.

Preferred embodiments of the present invention can potentially provideimproved web service for devices that do not have a predictable,broadband connection to the Internet. Embodiments of the invention canbe used with existing or yet-to-be created wireless access technologyfor web access.

While various embodiments of the present invention have been shown anddescribed, it should be understood that other modifications,substitutions, and alternatives are apparent to one of ordinary skill inthe art. Such modifications, substitutions, and alternatives can be madewithout departing from the spirit and scope of the invention, as setforth in the appended claims.

Various features of the invention are set forth in the appended claims.

1. A method for providing a web page, the method comprising steps of:receiving a requested web page including a plurality of data objects;for each of the plurality of data objects, evaluating contentimportance; estimating available bytes that can be transmitted undercurrent bandwidth of a communication channel to meet a desired latencygoal; distributing the available transmission bytes among different onesof the plurality of data objects based on the evaluated contentimportance; dynamic object-specific shaping the plurality of dataobjects to meet the distributed bytes for each object; composing amodified web page including the objects shaped by said dynamicobject-specific shaping, to be delivered to the communication channel.2. The method of claim 1, further comprising: selecting at least one ofthe plurality of data objects for inclusion or deletion in the modifiedweb page based on the allocated transmission bytes; wherein said dynamicobject-specific shaping is performed on the selected data object.
 3. Themethod of claim 2, further comprising: determining a ratio of evaluatedcontent importance to size for each of the plurality of data objects;choosing an object having the lowest ratio of evaluated contentimportance to size for said selecting for inclusion or deletion.
 4. Themethod of claim 1, wherein said dynamic object-specific shapingcomprises image compressing an object if the object is an image, andtruncating an object if the object is a text-based object.
 5. The methodof claim 1, wherein said composing occurs in real time.
 6. The method ofclaim 1 further comprising: for each of the plurality of data objects,evaluating a relationship among the respective data objects; whereinsaid allocating is further based on the evaluated relationship.
 7. Themethod of claim 6, further comprising: modifying the evaluated contentimportance based on the evaluated relationship.
 8. The method of claim1, further comprising: modifying the evaluated content importance forimage objects based on the estimated available bytes.
 9. The method ofclaim 1, further comprising: determining a ratio of evaluated contentimportance to size for each of the plurality of data objects; arrangingthe plurality of data objects according to the determined ratio;choosing one of the plurality of data objects having the lowest ratio ofevaluated content importance to size; selecting the chosen data objectfor inclusion or deletion in the modified web page based on theallocated transmission bytes.
 10. The method of claim 9, furthercomprising: if the chosen data object is selected for deletion, addingbytes allocated to the chosen data object to the available transmissionbytes; if the chosen data object is selected for inclusion, performingsaid dynamic object-specific shaping on the chosen data object, and ifadditional bytes remain, adding the remaining bytes to the availabletransmission bytes; re-allocating the transmission bytes among theremaining data objects.
 11. A method for providing a data communicationgiven a data rate, the method comprising: receiving a request forcommunication of a data collection including a plurality of dataobjects; retrieving the data objects; evaluating each of the retrieveddata objects for content importance; estimating available bytes usingthe data rate and a desired latency; reducing each of the retrieved dataobjects, respectively, by an amount that is based at least on theobject's evaluated content importance and estimated available bytes. 12.The method of claim 11, wherein said evaluating comprises evaluating atleast one of relative importance of each of the data objects, andevaluating relationships among each of the data objects.
 13. The methodof claim 12, wherein the amount of said reducing is further based on atleast one of size of a client display and capabilities of a client. 14.An apparatus for modifying a web page in real time from a receivedrequest, the apparatus comprising: a memory storing a web page includinga collection of data objects that is retrieved based on said request; acontent importance evaluator module for evaluating at least contentimportance for each of the data objects stored in said cache; acontent/quality selector for distributing transmission bytes to each ofthe data objects based on the evaluated content importance and apredetermined overall available bandwidth; and a shaper for dynamicallyobject-specific shaping the data objects stored in said memory accordingto the distributed transmission bytes and providing the new web pageincluding the dynamically object-specific shaped data objects.
 15. Theapparatus of claim 14, further comprising: a content semantics modulefor evaluating relationships among the data objects, and modifying theevaluated content importance based on the evaluated relationships. 16.The apparatus of claim 15, wherein said content semantics module furthermodifies the evaluated content importance based on the estimatedavailable bandwidth.
 17. The apparatus of claim 14, wherein said shapercomprises: an HTML shaper for deleting one or more objects; an imageshaper for compressing images by an amount depending on the allocatedtransmission bytes.
 18. The method of claim 1 wherein said evaluatingcontent importance comprises at least one of analyzing one or more ofthe data objects for content importance and receiving content parametersproviding content importance for the one or more of the data objects.